home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-05-09 | 6.0 KB | 150 lines | [TEXT/PJMM] |
- { *** DEMO FOR the IngisWDEF WDEF building package *** }
-
- {© 1994-1995 by Ingemar Ragnemalm}
- {You may use it freely as long as credits are given in the final program.}
-
-
- {This demo creates a plain, circular window. This is very easy - all procedure are left empty except}
- {BuildCustomRegions!}
-
- {This unit holds all custom code}
-
- unit CustomStubs;
-
- interface
- uses
- {$IFC UNDEFINED THINK_PASCAL}
- Types, QuickDraw, ToolUtils, Windows,
- {$ENDC}
- IngisWDEFUtils;
-
- {Lots of routines, right? Don't worry; you can skip several of them if you don't plan on supporting zoom box,}
- {close box or grow regions, and you can call some default routines in IngisWDEFUtils.}
-
- procedure GetGrowRgn (varCode: integer; macWindow: WindowPeek; var growRgn: RgnHandle);
- procedure GetCloseBox (varCode: integer; dragBar: RgnHandle; var closeBox: Rect);
- procedure GetZoomBox (varCode: integer; dragBar: RgnHandle; var zoomBox: Rect);
- procedure DrawCloseBox (varCode: integer; macWindow: WindowPeek; closeBox: Rect; colorFlag: Boolean);
- procedure DrawZoomBox (varCode: integer; macWindow: WindowPeek; zoomBox: Rect; colorFlag: Boolean);
- procedure DrawHitCloseBox (varCode: integer; macWindow: WindowPeek; closeBox: Rect; colorFlag: Boolean);
- procedure DrawHitZoomBox (varCode: integer; macWindow: WindowPeek; zoomBox: Rect; colorFlag: Boolean);
- procedure DrawDragBar (varCode: integer; macWindow: WindowPeek; dragBar: RgnHandle; colorFlag: Boolean);
- procedure BuildCustomRegions (varCode: integer; theRect: Rect; contRgn, dragRgn: RgnHandle);
- procedure DrawScrollFrame (varCode: integer; macWindow: WindowPeek; theRect: Rect);
- procedure DrawTheGrowIcon (varCode: integer; macWindow: WindowPeek; theRect: Rect; growRgn: RgnHandle; colorFlag: Boolean);
- procedure InitMyWindow (varCode: integer; macWindow: WindowPeek);
- procedure DisposeMyWindow (varCode: integer; macWindow: WindowPeek);
-
- {** Constants **}
- const
- kFrameWidth = 1; { Thickness of frame around window. 1 is normal.}
- kShadowLength = 1; { Size of drop shadow. 1 is normal.}
- kMinDepthForColor = 4; { Smallest pixel size for color. 8 (256 colors) is normal. }
- kMinWidth = 10; { Limits for the dragging rectangle? }
- kMinHeight = 10;
-
- type
- MyDataRecord = record
- theWindowState: WStateData;
- {Insert any globals you need here!}
- end;
- MyDataPtr = ^MyDataRecord;
- MyDataHandle = ^MyDataPtr;
-
- implementation
-
- {*****************************************************************************}
- { GetGrowRgn}
- { Return the region with the grow icon, if any.}
- { *****************************************************************************}
-
- procedure GetGrowRgn (varCode: integer; macWindow: WindowPeek; var growRgn: RgnHandle);
- begin
- end;
-
- {*****************************************************************************}
- { GetCloseBox}
- { Pass back a rectangle which encloses the close box of the window}
- { *****************************************************************************}
-
- procedure GetCloseBox (varCode: integer; dragBar: RgnHandle; var closeBox: Rect);
- begin
- end;
-
- procedure GetZoomBox (varCode: integer; dragBar: RgnHandle; var zoomBox: Rect);
- begin
- end;
-
- {*****************************************************************************}
- { Draw close box and zoom box, in normal and hit state }
- { Draw the close box in "hit" state. This can be as simple as an InvertRect. }
- { *****************************************************************************}
-
- procedure DrawCloseBox (varCode: integer; macWindow: WindowPeek; closeBox: Rect; colorFlag: Boolean);
- begin
- end; {}
- procedure DrawZoomBox (varCode: integer; macWindow: WindowPeek; zoomBox: Rect; colorFlag: Boolean);
- begin
- end; {}
- procedure DrawHitCloseBox (varCode: integer; macWindow: WindowPeek; closeBox: Rect; colorFlag: Boolean);
- begin
- end; {}
- procedure DrawHitZoomBox (varCode: integer; macWindow: WindowPeek; zoomBox: Rect; colorFlag: Boolean);
- begin
- end; {}
-
- {*****************************************************************************}
- { DrawDragBar, BW and Color version}
- { Draw the drag bar (not close box/zoom box)}
- { *****************************************************************************}
-
- procedure DrawDragBar (varCode: integer; macWindow: WindowPeek; dragBar: RgnHandle; colorFlag: Boolean);
- begin
- end; {DrawDragBar}
-
- {*****************************************************************************}
- { BuildCustomRegions}
- { Build the contents region and the drag bar region}
- { *****************************************************************************}
-
- procedure BuildCustomRegions (varCode: integer; theRect: Rect; contRgn, dragRgn: RgnHandle);
- begin
- OpenRgn;
- FrameOval(theRect);
- CloseRgn(contRgn);
- CopyRgn(contRgn, dragRgn);
- end; {BuildCustomRegions}
-
- {*****************************************************************************}
- { DrawScrollFrame}
- { Draw the scroll frame, if any (used both when resizing and when drawing the grow icon) }
- { *****************************************************************************}
-
- procedure DrawScrollFrame (varCode: integer; macWindow: WindowPeek; theRect: Rect);
- begin
- end; {DrawScrollFrame}
-
- {*****************************************************************************}
- { DrawTheGrowIcon, BW and Color version}
- { Draw the grow icon, if any }
- { *****************************************************************************}
-
- procedure DrawTheGrowIcon (varCode: integer; macWindow: WindowPeek; theRect: Rect; growRgn: RgnHandle; colorFlag: Boolean);
- begin
- end; {DrawTheGrowIcon}
-
- {*****************************************************************************}
- { InitMyWindow and DisposeMyWindow }
- { Can often be empty. Set the spareFlag in InitMyWindow if the variant should have a zoom box. }
- { InitMyWindow may initialize any globals in MyDataHandle(macWindow^.dataHandle). }
- { DisposeMyWindow must restore/dispose fields in MyDataHandle(macWindow^.dataHandle) as needed. }
- { *****************************************************************************}
-
- procedure InitMyWindow (varCode: integer; macWindow: WindowPeek);
- begin
- end; {}
- procedure DisposeMyWindow (varCode: integer; macWindow: WindowPeek);
- begin
- end; {}
-
- end.